/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.loja.model.dao;

import java.util.List;
import java.util.Map;

/**
 *
 * @author David Luiz
 */
public interface IDAO<T> {

    T save(T entity);

    List<T> list(boolean cacheable);

    void remove(T entity);

    void update(T entity);

    T findByPrimaryKey(Object pk);

    List<T> list(Map<String, ?> properties, boolean cacheable);

}
